Most data communications systems are configured to have a plurality of processing or communications nodes coupled to a common network media, such as a twisted pair cable. These processing nodes typically include cells which are responsible for controlling and/or communicating with other nodes or devices on the network. In any type of shared-access communication system, there is usually a requirement to have some sort of media access protocol which regulates communication along the network bus. There exists a number of well-known network communication protocols within the art.
In general, the alternative protocols for sharing a media among multiple communication processing nodes fall in four broad categories. One way involves utilizing pre-allocated time slots, with each processing node being assigned to a particular time slot. This technique is commonly referred to as time/division multiplexing. Basically, in a time/division multiplexed scheme when a processing nodes' allocated time slot arrives, that node is granted access to the network media. Even though this approach does benefit from a low hardware cost, its extremely poor response time and low bit rates make it a poor candidate whenever numerous processing nodes must be accommodated.
A token bus is another way that a media can be shared among multiple processing nodes. The token bus approach is deterministic in terms of how long it takes to acquire access to the common bus. However, the relatively high cost associated with the token bus hardware, and its relatively high power consumption, make this approach impractical in many cases. This is especially so in situations where each of the processing nodes is battery powered.
The token ring approach is also deterministic. However, this method requires the sort of media that allows message packets to be sent along the network in a "daisy-chain" fashion. That is, the media must be capable of accommodating communications between adjacent processing nodes only; wherein a transmission from one node can only be sent to an immediately neighboring node. This presents a strict limitation on the type of media that can be employed. Certain types of media are simply excluded. For example, when operating across a radio frequency (RF) media you cannot force a transceiver to send a message to only one receiver. This means that the token ring approach is incompatible for use with any sort of broadcast media.
A fourth class of commonly employed media protocols comprises the existing Carrier Sense Multiple Access (CSMA) family. This type of communication protocol has been established as a standard by Part 802 of the IEEE. Part 802.3 of the IEEE standards has also been adopted by ANSI, by the National Bureau of Standards, and by ISO (known by the name ISO 8802).
The existing CSMA family of protocols is well-known and widely-used within the art. The primary reason for its widespread adoption lies in its relatively low cost hardware. However, the main drawback of CSMA protocols is that collision rates tend to increase dramatically with the offered traffic. This usually leads to unpredictable delay at high loads. (Basically, a collision occurs when two processing nodes wish to send a message on the same network media at the same time. The signals collide or interfere, thereby destroying both message packets).
In an attempt to lessen the number of collisions as the communication traffic increases, various improvements have been made to the existing CSMA family of protocols. By way of example, in a co-pending U.S. patent application, which is assigned to the assignee of the present invention and is entitled, "Network Communication Protocol"; U.S. Ser. No. 07/621,737; filed Dec. 3, 1990; an improvement for avoiding data collisions on a network connecting to a plurality of communication nodes is disclosed. As additional background to the present invention, this co-pending application is herein incorporated by reference.
Despite these improvements, there still remains the problem of the relatively high-cost associated with collisions in terms of processing speed. When a collision occurs, the data in the message packet is irretrievably lost. However, the transmitting node is unable to recognize that a collision has occurred until after it has "timed-out"; that is, after it has waited for an acknowledgement signal from the receiving node and failed to receive it after a certain predetermined time period. Once the transmitting node realizes that a collision has occurred, then a higher layer in the protocol initiates a sequence of steps aimed at re-transmitting the same message. The end result is that even employing an improved protocol, such as the one detailed in the above-referenced application, collisions still cause significant communication and processing delays.
What is needed then is a way of further improving shared-access communications systems so as to further lower the collision rate with the offered traffic. Optimally, such a system would include some way of sensing--during the actual transmission--that a collision is occurring.
As will be seen, the present invention discloses a collision detection circuit which indicates, during the time that a node is transmitting, whether another message packet is being simultaneously transmitted across the network. By detecting message collisions in this manner the communications protocol can correct the situation (i.e., re-transmit) without the need to wait for a time-out condition to occur. Consequently, the response time of the network is even further improved over prior art methods when the collision detection circuit of the present invention is employed.